local UnitlModule = require("Lua.UnitlModule");

--第七节 表-迭代器篇

--迭代器遍历 主要是用于遍历表的


UnitlModule.PrintTimer();


UnitlModule.PrintOperaName("ipairs遍历");
local array = {[0] = 1,[1] = 2,[2] = 3,[5] = 88,[-1] = 5};
for index, value in ipairs(array) do
    print("迭代器遍历 Index : Value is "..index..":"..value);
end
--[[
ipairs遍历，还是从1开始往后遍历的 小于等于0的值得不到
只能找到连续索引的键，如果中间断序了，它也无法遍历出后面的内容
--]]

UnitlModule.NextLine();
UnitlModule.PrintOperaName("ipairs遍历键");
local array = {[0] = 1,[1] = 2,[2] = 3,[5] = 88,[-1] = 5};
for index in ipairs(array) do
    print("迭代器遍历 Index is "..index);
end

UnitlModule.NextLine();
UnitlModule.PrintOperaName("pairs遍历");
local array = {[0] = 1,[1] = 2,[2] = 3,[5] = 88,[-1] = 5};
for index, value in pairs(array) do
    print("迭代器遍历 Index : Value is "..index..":"..value);
end
--[[
pairs遍历表，是全部遍历的，可以通过键得到值
--]]

UnitlModule.NextLine();
UnitlModule.PrintOperaName("pairs遍历键");
local array = {[0] = 1,[1] = 2,[2] = 3,[5] = 88,[-1] = 5};
for index in pairs(array) do
    print("迭代器遍历 Index is "..index);
end